/* eslint-disable no-redeclare */
/* eslint-disable no-unused-vars */
// 作用域链是由词法作用域决定的
// function bar() {
//   console.log(str)
// }

// function foo() {
//   var str = 'abc'
//   bar()
// }
// var str = 'qwe'
// foo()

// var bar = {
//   myName: 'time.geekbang.com',
//   printName: function () { console.log(this.myName) }
// }
// function foo() {
//   let myName = '极客时间'
//   return bar.printName
// }
// let myName = '极客邦'
// let _printName = foo()
// _printName()
// bar.printName()

let userInfo = {
  name: 'jack.ma',
  age: 13,
  sex: 'male',
  updateInfo: function () {
    // 模拟xmlhttprequest请求延时
    setTimeout(() => {
      this.name = 'pony.ma'
      this.age = 39
      this.sex = 'female'
    }, 100)
  }
}

userInfo.updateInfo()
setTimeout(function () {
  console.log(userInfo)
}, 100)
